function printPoly(p)

    if polyIsZero(p)
        disp('0');
    end

    p = polyTrimZeros(p);
    
    for i = 1 : length(p)
        if i < length(p)
            if ~isZero(p(i))
                if i == 0
                    fprintf('(a^%i) + ',p(i));
                else
                    fprintf('(a^%i)(x^%i) + ',p(i),i - 1);
                end
            end
        else
            if ~isZero(p(i))
                if i == 0
                    fprintf('(a^%i)',p(i));
                else
                    fprintf('(a^%i)(x^%i)',p(i),i - 1);
                end
            end
        end
    end
    fprintf('\n');
end